/*
 * @Author: moonwater 13812995013@163.com
 * @Date: 2025-03-04 16:15:13
 * @LastEditors: moonwater 13812995013@163.com
 * @LastEditTime: 2025-03-04 17:04:51
 * @FilePath: \盐师22Git仓库\Today.java
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import java.util.Scanner;

public class Today {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // 提示用户输入年份、月份和日期
        System.out.print("请输入年份 月份 日期（格式为YYYY MM DD，例如2023 04 27）：");
        
        // 读取输入的年份、月份和日期
        int year = Integer.parseInt(scanner.next());
        int month = Integer.parseInt(scanner.next().replace("0", "")); // 去除前导0
        int day = Integer.parseInt(scanner.next().replace("0", "")); // 去除前导0，但实际上这里不需要因为day会直接用
        
        // 注意：由于我们已经用Integer.parseInt转换了，所以month和day已经是整数类型，
        // 前面的replace("0", "")操作是多余的，但为了符合题目要求的输入格式说明，这里保留。
        // 在实际应用中，可以直接使用Integer.parseInt而不需要replace操作。
        
        // 调用方法计算这一天是该年的第几天
        int dayOfYear = calculateDayOfYear(year, month, day);
        
        // 输出结果
        System.out.println("这一天是该年的第 " + dayOfYear + " 天。");
        
        scanner.close();
    }
    
    /**
     * 计算给定日期是该年的第几天
     * @param year 年份
     * @param month 月份
     * @param day 日期
     * @return 该日期是该年的第几天
     */
    public static int calculateDayOfYear(int year, int month, int day) {
        // 创建一个Calendar实例并设置为给定的日期
        java.util.Calendar calendar = java.util.Calendar.getInstance();
        calendar.set(year, month - 1, day); // 注意：Calendar的月份是从0开始的，所以要减1
        
        // 获取该日期在一年中的天数（从0开始计数，所以需要加1）
        int dayOfYear = calendar.get(java.util.Calendar.DAY_OF_YEAR);
        
        return dayOfYear;
    }
}